

# XML Schema Components
'''
 * The object describes an attribute declaration.
'''
ATTRIBUTE_DECLARATION = 1
'''
 * The object describes an element declaration.
'''
ELEMENT_DECLARATION = 2
'''
 * The object describes a complex type or simple type definition.
'''
TYPE_DEFINITION = 3
'''
 * The object describes an attribute use definition.
'''
ATTRIBUTE_USE = 4
'''
 * The object describes an attribute group definition.
'''
ATTRIBUTE_GROUP = 5
'''
 * The object describes a model group definition.
'''
MODEL_GROUP_DEFINITION = 6
'''
 * A model group.
'''
MODEL_GROUP = 7
'''
 * The object describes a particle.
'''
PARTICLE = 8
'''
 * The object describes a wildcard.
'''
WILDCARD = 9
'''
 * The object describes an identity constraint definition.
'''
IDENTITY_CONSTRAINT = 10
'''
 * The object describes a notation declaration.
'''
NOTATION_DECLARATION = 11
'''
 * The object describes an annotation.
'''
ANNOTATION = 12
'''
 * The object describes a constraining facet. Note: this object does not
 * describe pattern and enumeration facets.
'''
FACET = 13
'''
 * The object describes enumeration and pattern facets.
'''
MULTIVALUE_FACET = 14

# Derivation constants
'''
 * No constraint is available.
'''
DERIVATION_NONE = 0
'''
 * <code>XSTypeDefinition</code> final set or
 * <code>XSElementDeclaration</code> disallowed substitution group.
'''
DERIVATION_EXTENSION = 1
'''
 * <code>XSTypeDefinition</code> final set or
 * <code>XSElementDeclaration</code> disallowed substitution group.
'''
DERIVATION_RESTRICTION = 2
'''
 * <code>XSTypeDefinition</code> final set.
'''
DERIVATION_SUBSTITUTION = 4
'''
 * <code>XSTypeDefinition</code> final set.
'''
DERIVATION_UNION = 8
'''
 * <code>XSTypeDefinition</code> final set.
'''
DERIVATION_LIST = 16

# Scope
'''
 * The scope of a declaration within named model groups or attribute
 * groups is <code>absent</code>. The scope of such a declaration is
 * determined when it is used in the construction of complex type
 * definitions.
'''
SCOPE_ABSENT = 0
'''
 * A scope of <code>global</code> identifies top-level declarations.
'''
SCOPE_GLOBAL = 1
'''
 * <code>Locally scoped</code> declarations are available for use only
 * within the complex type.
'''
SCOPE_LOCAL = 2

# Value Constraint
'''
 * Indicates that the component does not have any value constraint.
'''
VC_NONE = 0
'''
 * Indicates that there is a default value constraint.
'''
VC_DEFAULT = 1
'''
 * Indicates that there is a fixed value constraint for this attribute.
'''
VC_FIXED = 2

# Built-in types: primitive and derived
'''
 * anySimpleType
'''
ANYSIMPLETYPE_DT = 1
'''
 * string
'''
STRING_DT = 2
'''
 * boolean
'''
BOOLEAN_DT = 3
'''
 * decimal
'''
DECIMAL_DT = 4
'''
 * float
'''
FLOAT_DT = 5
'''
 * double
'''
DOUBLE_DT = 6
'''
 * duration
'''
DURATION_DT = 7
'''
 * dateTime
'''
DATETIME_DT = 8
'''
 * time
'''
TIME_DT = 9
'''
 * date
'''
DATE_DT = 10
'''
 * gYearMonth
'''
GYEARMONTH_DT = 11
'''
 * gYear
'''
GYEAR_DT = 12
'''
 * gMonthDay
'''
GMONTHDAY_DT = 13
'''
 * gDay
'''
GDAY_DT = 14
'''
 * gMonth
'''
GMONTH_DT = 15
'''
 * hexBinary
'''
HEXBINARY_DT = 16
'''
 * base64Binary
'''
BASE64BINARY_DT = 17
'''
 * anyURI
'''
ANYURI_DT = 18
'''
 * QName
'''
QNAME_DT = 19
'''
 * NOTATION
'''
NOTATION_DT = 20
'''
 * normalizedString
'''
NORMALIZEDSTRING_DT = 21
'''
 * token
'''
TOKEN_DT = 22
'''
 * language
'''
LANGUAGE_DT = 23
'''
 * NMTOKEN
'''
NMTOKEN_DT = 24
'''
 * Name
'''
NAME_DT = 25
'''
 * NCName
'''
NCNAME_DT = 26
'''
 * ID
'''
ID_DT = 27
'''
 * IDREF
'''
IDREF_DT = 28
'''
 * ENTITY
'''
ENTITY_DT = 29
'''
 * integer
'''
INTEGER_DT = 30
'''
 * nonPositiveInteger
'''
NONPOSITIVEINTEGER_DT = 31
'''
 * negativeInteger
'''
NEGATIVEINTEGER_DT = 32
'''
 * long
'''
LONG_DT = 33
'''
 * int
'''
INT_DT = 34
'''
 * short
'''
SHORT_DT = 35
'''
 * byte
'''
BYTE_DT = 36
'''
 * nonNegativeInteger
'''
NONNEGATIVEINTEGER_DT = 37
'''
 * unsignedLong
'''
UNSIGNEDLONG_DT = 38
'''
 * unsignedInt
'''
UNSIGNEDINT_DT = 39
'''
 * unsignedShort
'''
UNSIGNEDSHORT_DT = 40
'''
 * unsignedByte
'''
UNSIGNEDBYTE_DT = 41
'''
 * positiveInteger
'''
POSITIVEINTEGER_DT = 42
'''
 * The type represents a list type definition whose item type (itemType)
 * is a union type definition
'''
LISTOFUNION_DT = 43
'''
 * The type represents a list type definition.
'''
LIST_DT = 44
'''
 * The built-in type category is not available.
'''
UNAVAILABLE_DT = 45
